In general, the term “encryption” refers to a process of encoding messages or information in such a way that only authorized parties can read the messages or information. A field of science that deals with encryption is called cryptography. Information has been encrypted throughout history, and it is well known that each encryption algorithm has its own associated weaknesses. Cryptanalysis, which is a branch of cryptology, is used to find weaknesses in encryption algorithms.
Encryption algorithms can be categorized into symmetric algorithms (namely, symmetric-key algorithms) and asymmetric algorithms (namely, asymmetric-key algorithms). The symmetric and asymmetric algorithms mutually differ in a way in which an encryption key is used and processed. Symmetric encryption algorithms use a shared common key to encrypt data at a transmitting end and to decrypt encrypted data at a corresponding receiving end. On the other hand, asymmetric encryption algorithms use two different keys, one of which is a public key used to encrypt data and the other is a private key used to decrypt encrypted data. Only the public key is shared between parties.
Moreover, there are one-way message digest functions, namely hash functions, which are not data encryption techniques as such, because data they represent are difficult or impossible to recover. However, one-way message digest functions are used to verify an authenticity of data and passwords, and also are used to generate encryption keys for encryption algorithms.
It is well known that data encryption is a technically demanding operation that requires considerable computing resources. Therefore, in order to save on computing resources and to reduce computing time, a hybrid combination of asymmetric and symmetric encryption algorithms is often used. This combination provides a sufficiently strong protection, such that unauthorized third-party decryption cannot be executed in real time with current computing resources. Such a kind of approach is commonly used in various different data transfer protocols, for example, such as Secure Sockets Layer (SSL)/Transport Layer Security (TLS) and Secure Shell (SSH), and in applications to sign and encrypt e-mail messages, for example, such as Pretty Good Privacy (PGP).
It has been established that cryptology, namely the scientific study of cryptography and cryptanalysis, is a continuously developing field of science that, with means for cryptanalysis, attempts to find weaknesses in encryption algorithms. For this reason, it is essential to be able to protect information maximally, but correspondingly there is a need to make compromises regarding use of computing resources used to implement the encryption. Moreover, the computing resources available are usually limited, especially in mobile devices which do their utmost to save battery power.
Moreover, e-mail applications typically enable encryption of:    (i) only e-mail messages, but not e-mail attachments of the e-mail messages, or    (ii) only the e-mail attachments of the e-mail messages, but not the e-mail messages.
This means that an entire e-mail message, including its e-mail attachments, is not encrypted. However, such a kind of operation is employed based on either a usage scenario or an incompatibility between client software, and not as a result of modest processing power available for performing encryption.
In the last few years, there has been considerable research undertaken regarding partial encryption of image and video information, largely because an amount of data transfers over the Internet is growing exponentially year-by-year. Conventionally, a “partial image encryption” technique is commonly used in image and video codecs that is based on Discrete Cosine Transform (DCT) and Wavelets. However, this technique is inefficient as regards speed, and is weak as regards a degree of protection that is achievable.
In one conventional technique, pixel values of a given image are encrypted. In another conventional technique, an order of pixels in a given image block is scrambled by encryption. In yet another conventional technique, non-zero AC coefficients of DCT coding are encrypted. In still another conventional technique, details of an image, namely brightness, color contrast and so forth, are encrypted, while shapes and contours of patterns in the image are left unencrypted and are visible to a human viewer.
However, the aforesaid conventional techniques do not work efficiently, because current prior art technology uses such methods for coding images that do not intrinsically produce partial data streams. As a result, the aforesaid conventional techniques fail to enable efficient partial image encryption, without making compromises between a speed and a strength of encryption.
In a published United States patent application US2004/0081333A1 (Grab et al.; “Method and system for securing compressed digital video”), there is described a method for producing and for subsequently decrypting a protected stream of compressed video content. The method includes receiving an input stream of compressed video content containing a sequence of frames. A set of encrypted frames are created by encrypting selected frames of the sequence of frames in accordance with a frame encryption function. The method further includes generating frame decryption information necessary to decrypt the set of encrypted frames.
In another published patent application WO2010/150056 A1 (Murray et al.; “Partial encryption using variable block-size parameters”, assigned to Nds Limited), there is described a method for partially encrypting data. A sequence of image frames is encoded by identifying intra and inter frames in the sequence and by applying a variable block size motion compensation (VBSMC) procedure to the inter frames, thereby generating respective parameters representing the inter frames. The block sizes are selectively encrypted, using an encryptor, without encrypting all of the parameters representing the inter frames. Finally, encoded data, representing the sequence of the image frames and comprising the encrypted block sizes, is outputted.
In a published article (Lian et al.; “Selective video encryption based on advanced video coding”), there is described a selective encryption technique for advanced video coding. The encryption technique provides secure video transmission. The encryption technique comprises encryption process with compression process having low cost. Moreover, the encryption technique keeps the file format unchanged with direct operations, such as displaying, time seeking, copying, cutting, etc. The encryption technique encrypts video data as intraprediction mode, intra-macroblock's residue and motion vector difference.